抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

Distribution Registry 是一个开源镜像仓库,用于存储和管理 Docker 镜像。它允许您在 Linux 服务器上创建私有的 Docker 镜像仓库,以便团队成员共享、访问镜像,也可用于加速拉取「解决境内拉取问题」

主要功能

镜像存储、管理。Distribution Registry 提供功能强大的仓库系统,用于存储和管理 Docker 镜像,方便团队成员之间的共享和访问。

可私有化部署。您可以在自己的 Linux 服务器上搭建私有的 Distribution Registry,以满足安全和隐私要求。

访问控制。支持设置访问权限,可以控制谁可以拉取和推送镜像,以保护您的镜像和数据的安全性。

标签、版本管理。可以为镜像设置标签和版本,方便对镜像进行分类和管理。

兼容性好。Distribution Registry 兼容 Docker 镜像仓库的标准 API,可以使用 Docker CLI 或其它 Docker 客户端工具与之交互。

支持指定上游源 URL。可通过指定上游源 URL 以加速镜像拉取,解决境内拉取问题。

安装配置

这里推荐使用 Docker 来部署,将下面的内容保存到 docker-compose.yml

1
2
3
4
5
6
7
8
services:
docker-registry:
image: registry:2.8.3
restart: always
ports:
- 5000:5000
volumes:
- ./data:/var/lib/registry

然后使用下面命令启动即可:

1
docker-compose up -d

当出现上游源 URL 无法使用时,可以通过添加下面参数来指定上游源地址:

1
2
3
4
5
proxy:
remoteurl: https://registry-1.docker.io
username: [username]
password: [password]
ttl: 168h

可以通过参数来指定缓存的方式「注意两个 cache 选其一,互相冲突」

1
2
3
4
5
6
cache:
blobdescriptor: redis
blobdescriptorsize: 10000
cache:
blobdescriptor: inmemory
blobdescriptorsize: 10000

参数说明

上文中出现的参数说明如下:

参数必填描述
remoteurlYDocker Hub 上存储库 URL。
usernameN私有存储库中注册的用户名。
passwordN私有存储库中注册密码。
ttlN代理缓存过期时间,0 为禁止缓存过期。
blobdescriptorY指定缓存方式,inmemory 为内存缓存,redis 则为 Redis 缓存。
blobdescriptorsizeN要存储在缓存中的描述符数限制。如果参数设置为 0,则允许缓存在没有大小限制的情况下增长。

注意事项

修改客户端的配置文件,默认路径为/etc/docker/daemon.json,添加如下内容:

1
2
3
4
5
{
"registry-mirrors": [
"http://IP:5000"
]
}

因为默认不支持 HTTPS,需使用 Nginx 配置反向代理。运行下面的命令重启 Docker 服务:

1
systemctl restart docker

评论